// 运行时配置

import '@/utils/queueMicrotask';
import { RuntimeReactQueryType } from '@umijs/max';
import { RequestErrorConfig } from './requestConfiguration';


// 全局初始化数据配置，用于 Layout 用户信息和权限初始化
// 更多信息见文档：https://umijs.org/docs/api/runtime-config#getinitialstate
export async function getInitialState(): Promise<{ name: string }> {
  return { name: '@umijs/max' };
}

// export const layout = () => {
//   return {
//     logo: 'https://img.alicdn.com/tfs/TB1YHEpwUT1gK0jSZFhXXaAtVXa-28-27.svg',
//     menu: {
//       locale: false,
//     },
//   };
// };

/**
 * @name react-query 配置
 * @doc https://umijs.org/docs/max/react-query
 */
export const reactQuery: RuntimeReactQueryType = {
  queryClient: {
    defaultOptions: {
      queries: {
        refetchOnWindowFocus: false, // 取消窗口聚焦时的自动重新获取 （此配置具有的表现往往令人出乎意料，若无特殊需求，请默认关闭）
        refetchInterval: 20000, // 每5秒刷新一次接口
      },
    },
  },
};

/**
 * @name request 请求配置
 * @doc https://umijs.org/docs/max/request#%E8%BF%90%E8%A1%8C%E6%97%B6%E9%85%8D%E7%BD%AE%E7%A4%BA%E4%BE%8B
 */
export const request = {
  ...RequestErrorConfig,
};
function setRootFontSize() {
  let screenWidth = window.innerWidth;
  // 默认的设置是1920px(ip6)的根元素设为100px, 其他的手机都相对这个进行调整
  document.documentElement.style.fontSize = (screenWidth / 1920) * 100 + 'px';
}
setRootFontSize();
// 在窗口大小改变时调用设置根元素字体大小的函数
window.addEventListener('resize', setRootFontSize);
// 页面加载完成后初始化设置根元素字体大小
window.addEventListener('DOMContentLoaded', setRootFontSize);

// window.removeEventListener('resize', setRootFontSize);
// window.removeEventListener('DOMContentLoaded', setRootFontSize);
